Method of decoding a variable length
prefix free compaction code

ABSTRACT

A METHOD FOR DECODING VARIABLE LENGTH PREFIX FREE CODE WORDS INTO FIXED LENGTH CODE WORDS USING A GENERAL PURPOSE ELECTRONIC COMPUTER. THE METHOD AS SHOWN IN FIG. 2 COMPRISES PLACING THE DECODING TABLE FOR A VARIABLE LENGTH CODE DESIGNATION OF EACH CHARACTER OF SAID DECODING TABLE IS LOCATED AT AN ADDRESS WHICH IS DIRECTLY DERIVABLE FROM THE VARIABLE LENGTH CODED DATA. THE METHOD FURTHER COMPRISES THE STEPS OF ANALYZING A CONTINOUS STREAM OF BINARY DIGITS BEING FED INTO THE DECODER PROGRAM UTILIZING VARIABLE LENGTH WINDOWS WHEREIN THE NEXT WINDOW IS USED IF A FORMER WINDOW FAILS TO CONTAIN ENOUGH INFORMATION TO PRODUCE A SUCCESSFUL DECODING OPERATION. THE METHOD MAY EQUALLY WELL BE USED WITH VARIABLE LENGTH CODES WHEREIN THE CODE LENGTH IS BASED ON THE INDEPENDENT PROBABILITY OF OCCURRENCE OF A PARTICULAR CHARACTER OR FOR A DEPENDENT VARIABLE LENGTH CODE WHEREIN THE CODE ASSIGNMENT IS BASED ON THE PROBABILITY OF OCCURRENCE OF A PARTICULAR CHARACTER AFTER SOME ONE OR MORE PRECEDING CHARACTERS. U.S. PAT. NO. 3,694,813, ISSUED SEPT. 26, 1972, OF THE PRESENT APPLICANTS, ENTITLED &#34;METHOD OF ACHIEVING DATA COMPACTION UTILIZING VARIABLE LENGTH DEPENDENT CODING&#34; DISCLOSES A SUITABLE METHOD FOR DERIVING THE CODE PER SE AND THUS THE CODE ASSIGNMENT TABLES AND THE STATE, GROUP AND CODING SET MEMBERSHIP AND MAPPING TABLES WHICH KEEP TRACK OF THE REORDERING OPERATIONS WHICH MUST OF NECESSITY TAKE PLACE WITH A DEPENDENT CODING SCHEDULE.

DEFENSIVE PULICATION UNITED STATES PATENT OFFICE Published at the request of the applicant or owner in accordance with the Notice of Dec. 16, 1969, 869 O.G. 687. The abstracts of Defensive Publication applications are identified by distinctly numbered series and are arranged chronologically. The heading of each abstract indicates the number of pages of specification, including claims and sheets of drawings contained in the application as originally filed. The files of these applications are available to the public for inspection and reproduction may be purchased for 30 cents a sheet.

Defensive Publication applications have not been examined as to the merits of alleged invention. The Patent Oflice makes no assertion as to the novelty of the disclosed subject matter.

PUBLISHED JULY 2, 197% INITIAL GROUP \IEHDERSHIP AND CODING SFT NIIIIBER i1 IDHHHTTY INFORHATION FIND THE GROUP (FROH THE. PREVIOUS CHARACTER) FIIOI-I THE GROUP: FIND CODING SET LOOK AT THE FIRST \YINDDII OF THE INPUT REGISTER, GET ADDRESS 4 GO TO THAT ADDRESS III THE DECODING TABLE NIIIOH HAS POINTED TO III THE PREVIOUS BLOCK TIIIS HEARS NE IINOH TIIE EXACT LENGTH OF TIIE CODE \IORD AND AN ADDRESS IN A NAPPING TABLE AT THAT ADDRESS IN THE DISCARD THE WINDOW, a HAPPINC TABLE PDINTED TO TAKE TIIE NEXT WINDOW Bi .THE. GROUP DESIGNATION THE REAL CHARACTER IS LOCATED WHAT HAS FOUND \IAS AII ADDRESS POINTING TO SOME OTHER LOCATION IN THE DECODING TABLE A method for decoding variable length prefix free code Words into fixed length code words using a general purpose clcctronic computer. The method as shown in FIG. 2 comprises placing the decoding table for a variable length code designation of each character of said decoding table is located at an address which is directly derivable from the variable length coded data. The method further comprises the steps of analyzing a continuous stream of binary digits being fed into the decoder program utilizing variable length windows wherein the next window is used if a former window fails to contain enough information to produce a successful decoding operation. The method may equally well be used with variable length codes wherein the code length is based on the independent probability of occurrence of a particular character or for a dependent variable length code wherein the code assignmcnt is based on the probability of occurrence of a particular character after some one or more preceding characters. US. Pat. No. 3,694,813, issued Sept. 26-, 1972, of the present applicants, entitled Method of Achieving Data Compaction Utilizing Variable Length Dependent Coding discloses a suitable method for deriving the code per se and thus the code assignment tables and the state, group and coding set membership and mapping tables which keep track of the reordering operations which must of necessity take place with a dependent coding schedule.

g y I... s. LOH ET AL T924302 METHOD OF DECODING A VARIABLE LENGTH k PREFIX FREE COMPACTION CODE Orlglnal Flled Feb. 26, 1971 6 Sheets-Sheet 1 FIG.1

START INITIALIZE.

SYSTEM FIND GROUP AND CODING SET DOES 1ST WINDOW DECODE NO YES 6 I 4\ DOES 2ND wmoow GO TO DECODE MAPPING TABLE NO YES I ql I CHARACTER OUT 5\ 005s NTH WINDOW A DECODE NOl YES INVENTORS LOUIS s. LOH JACQUES H. MOMMENS JOSEF RAVIV ATTORNEY July 2, 1974 A L. s. LOH ET T924992 METHOD OF DECODING A VARIABLE LENGTH PREFIX FREE COMPACTION CODE Original Filed Feb. 26, 1971 B e Sheets-Sheet a INITIAL GROUP MEMBERSHIP AND A CODING sET NUMBER H FTGL 2 BYTE IDENTITY INFORMATION 7 T 1F FTHB THE GROUP FROM THE PREVIOUS cHAHAoTEHT 2 FROM THE GROUP: FTHB CODING sET T 3N LOOK AT THE FIRST wTHBoLTT OF THE INPUT REGISTER, GET ADDRESS T' 4- G0 To THAT ADDRESS TH THE DECODING TABLE wHTcH \TTAs POINTED To IN THE PREVIOUS BLocH 5 cAH HE DECODE NO YES wHAT wAs FOUND AWAS THTs TTEAHs wE KNOW AN ADDRESS POTNTING T0 8/ THE ExAcT LENGTH OF THE soHE OTHER LOCATION CODE WORD AND AN ADDRESS TH THE DECODING TABLE IN A MAPPING TABLE T AT THAT ADDRESS IN THE DISCARD THE TTTTHBTTTT, 9/ MAPPING TABLE POINTED To TAKE THE NEXT wTTTBoTTT BY THE GROUP DESIGNATION,

THE REAL CHARACTER Ts LocATEB T 10 TAusT TTTE BEcoBE ANOTHER cHABAcTEH H01 YES END July 2, 1974 L0H ET AL T924,0Z

METHOD OF DECODING A VARIABLE LENGTH v I PREFIX FREE COMPACTION CODE Original Filed Feb. 26, 1971 6 Sheets-Sheet 3 FEG.3

OUTPUT RECORD INiTlALIZATION PREVIOUSLY D1 DECODED BYTE 9 I D2 (D2+g)/ ADDR.0F ADDR.0F

THE LABEL MAR T. (0 1 ill 1 1 l\\ l /-\D3 LABEL TABLE \ADDROF L L MAPPING TABLE D Dd fi T-T zj INPUT D +(0) RECORD A j I sh B T l l l 1 l I l 0 DECODING UNIT July 2, 1974 PREFIX FREE COMPACTION CODE Original Filed Feb. 26, 1971 6 Sheets--Sheet &

FIG.4

TYPICAL ASSIGNMENT TABLE I Q I VARIABLE LENGTH CODE INDICATORS CODE WORD LENGTH II OOOOOII 7 FIG. 5

MAPPING TABLES CODING SET DESIGNATIONS 12 54 5 57 8 91011 121514 515 gMPIABC XYZTUGK-LB 8MP21 LMTRs75552s0Aue1e EMP3EH'IK1K27BXA y 1 1 L, 5, WA ET AL 1924.002

METHOD OF DECODING A VARIABLE LENGTH PREFIX FREE COMPACTION CODE Original Filed Feb. 26, 1971 6 Sheets-Sheet 5 MEMBERSHIP TABLE D PREVIOUS GROUPS 1 2 3 3 l 1 2 2 1, 3 1 1 3 3 1 3 2 1 DECODING TABLE D ADDRESS MAPPlNG GROUP OF TABLE LABEL ADDRESS 1 ADDR. OF L ADDR.0F MP1 2 ADDR. OF L ADDR.0F MP2 3 ADDR. OF L ADDR. 0F MP5 FIG. 6C

LABEL TABLE L ADDROF D L 3 L =2 L3=2 L =2 2 e o m 0 m 4 S 2 9 t m -v 0 .1 B h s m 6. G u an w WC 8 L N Anm a 0 m H w .OM LIE m L X w on BMW 0 9 "mm 1 m 6 e 4 F 7 w 9 n 1 F 2' 1 m IJ m u .1

FIG. 7 DECODING TABLE 0101 mm mmnn my 0 0 00000 0 m 00 1000000 E I) I) l R 010 0 0100000000 MT 00 100 000000000000 D W 0 0 0 0000000000000000 W 001 00 00000000000000000000 000 11 00000000000000000000 W 1 11 6444fl8749wflfimmm4m mfifi I I M 3 11 55 55 77799886666 11 &m 0 00 0000 00 00000000000 NW 0 E w B AA TE 0 2 4 67 12 567 1 3 5 EN 012 45 22222222 D T A L E D R H0 m A FIG. 8

1 1 o o o 1 o 1 1 1 o o o o 1 1.... .J 

